<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/IssueVision.EntityModel" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/IssueVision.EntityModel" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://wshen.radleycorp.com/IssueVision.ST/Service/IssueVisionService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="ArrayOfIssueType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="IssueType" nillable="true" type="tns:IssueType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfIssueType" nillable="true" type="tns:ArrayOfIssueType" />
  <xs:complexType name="IssueType">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="IssueTypeID" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="IssueType" nillable="true" type="tns:IssueType" />
  <xs:complexType name="ObjectChangeTracker">
    <xs:sequence>
      <xs:element minOccurs="0" name="ComplexTypeOriginalValues" nillable="true" type="tns:ComplexTypeOriginalValuesDictionary" />
      <xs:element minOccurs="0" name="ExtendedProperties" nillable="true" type="tns:ExtendedPropertiesDictionary" />
      <xs:element minOccurs="0" name="ObjectsAddedToCollectionProperties" nillable="true" type="tns:ObjectsAddedToCollectionProperties" />
      <xs:element minOccurs="0" name="ObjectsRemovedFromCollectionProperties" nillable="true" type="tns:ObjectsRemovedFromCollectionProperties" />
      <xs:element minOccurs="0" name="OriginalValues" nillable="true" type="tns:OriginalValuesDictionary" />
      <xs:element minOccurs="0" name="State" type="tns:ObjectState" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="ObjectChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
  <xs:complexType name="ComplexTypeOriginalValuesDictionary">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ComplexTypeOriginalValues">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Name" nillable="true" type="xs:string" />
            <xs:element name="OriginalValue" nillable="true" type="xs:anyType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ComplexTypeOriginalValuesDictionary" nillable="true" type="tns:ComplexTypeOriginalValuesDictionary" />
  <xs:complexType name="ExtendedPropertiesDictionary">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ExtendedProperties">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Name" nillable="true" type="xs:string" />
            <xs:element name="ExtendedProperty" nillable="true" type="xs:anyType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ExtendedPropertiesDictionary" nillable="true" type="tns:ExtendedPropertiesDictionary" />
  <xs:complexType name="ObjectsAddedToCollectionProperties">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AddedObjectsForProperty">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CollectionPropertyName" nillable="true" type="xs:string" />
            <xs:element name="AddedObjects" nillable="true" type="tns:ObjectList" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ObjectsAddedToCollectionProperties" nillable="true" type="tns:ObjectsAddedToCollectionProperties" />
  <xs:complexType name="ObjectList">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ObjectValue" nillable="true" type="xs:anyType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ObjectList" nillable="true" type="tns:ObjectList" />
  <xs:complexType name="ObjectsRemovedFromCollectionProperties">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DeletedObjectsForProperty">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CollectionPropertyName" nillable="true" type="xs:string" />
            <xs:element name="DeletedObjects" nillable="true" type="tns:ObjectList" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ObjectsRemovedFromCollectionProperties" nillable="true" type="tns:ObjectsRemovedFromCollectionProperties" />
  <xs:complexType name="OriginalValuesDictionary">
    <xs:annotation>
      <xs:appinfo>
        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="OriginalValues">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Name" nillable="true" type="xs:string" />
            <xs:element name="OriginalValue" nillable="true" type="xs:anyType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OriginalValuesDictionary" nillable="true" type="tns:OriginalValuesDictionary" />
  <xs:simpleType name="ObjectState">
    <xs:list>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Unchanged" />
          <xs:enumeration value="Added" />
          <xs:enumeration value="Modified" />
          <xs:enumeration value="Deleted" />
        </xs:restriction>
      </xs:simpleType>
    </xs:list>
  </xs:simpleType>
  <xs:element name="ObjectState" nillable="true" type="tns:ObjectState" />
  <xs:complexType name="ArrayOfPlatform">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Platform" nillable="true" type="tns:Platform" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPlatform" nillable="true" type="tns:ArrayOfPlatform" />
  <xs:complexType name="Platform">
    <xs:sequence>
      <xs:element minOccurs="0" name="Browser" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="BrowserVersion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="Language" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OS" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OSVersion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PlatformID" type="xs:int" />
      <xs:element minOccurs="0" name="Processor" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="Platform" nillable="true" type="tns:Platform" />
  <xs:complexType name="ArrayOfResolution">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Resolution" nillable="true" type="tns:Resolution" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfResolution" nillable="true" type="tns:ArrayOfResolution" />
  <xs:complexType name="Resolution">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResolutionID" type="xs:unsignedByte" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="Resolution" nillable="true" type="tns:Resolution" />
  <xs:complexType name="ArrayOfSecurityQuestion">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SecurityQuestion" nillable="true" type="tns:SecurityQuestion" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSecurityQuestion" nillable="true" type="tns:ArrayOfSecurityQuestion" />
  <xs:complexType name="SecurityQuestion">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="PasswordQuestion" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="SecurityQuestion" nillable="true" type="tns:SecurityQuestion" />
  <xs:complexType name="ArrayOfStatus">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Status" nillable="true" type="tns:Status" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfStatus" nillable="true" type="tns:ArrayOfStatus" />
  <xs:complexType name="Status">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StatusID" type="xs:unsignedByte" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="Status" nillable="true" type="tns:Status" />
  <xs:complexType name="ArrayOfSubStatus">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SubStatus" nillable="true" type="tns:SubStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSubStatus" nillable="true" type="tns:ArrayOfSubStatus" />
  <xs:complexType name="SubStatus">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SubStatusId" type="xs:unsignedByte" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="SubStatus" nillable="true" type="tns:SubStatus" />
  <xs:complexType name="ArrayOfUser">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="User" nillable="true" type="tns:User" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUser" nillable="true" type="tns:ArrayOfUser" />
  <xs:complexType name="User">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FullName" nillable="true" type="tns:UserName" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NewPassword" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Password" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PasswordAnswer" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PasswordQuestion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Settings" nillable="true" type="tns:UserSettings" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="User" nillable="true" type="tns:User" />
  <xs:complexType name="UserName">
    <xs:sequence>
      <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="UserName" nillable="true" type="tns:UserName" />
  <xs:complexType name="UserSettings">
    <xs:sequence>
      <xs:element minOccurs="0" name="IsUserMaintenance" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="ProfileReset" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="UserType" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="UserSettings" nillable="true" type="tns:UserSettings" />
  <xs:complexType name="ArrayOfIssue">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Issue" nillable="true" type="tns:Issue" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfIssue" nillable="true" type="tns:ArrayOfIssue" />
  <xs:complexType name="Issue">
    <xs:sequence>
      <xs:element minOccurs="0" name="AssignedToID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Attributes" nillable="true" type="tns:TrackableCollectionOfAttributeGkTSy_POF" />
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="ChangedByID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DuplicateID" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="Files" nillable="true" type="tns:TrackableCollectionOfFileGkTSy_POF" />
      <xs:element minOccurs="0" name="IssueID" type="xs:long" />
      <xs:element minOccurs="0" name="IssueTypeID" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="LastChange" type="xs:dateTime" />
      <xs:element minOccurs="0" name="OpenedByID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OpenedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Platform" nillable="true" type="tns:Platform" />
      <xs:element minOccurs="0" name="PlatformID" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Priority" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="ReproSteps" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResolutionDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ResolutionID" nillable="true" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="ResolvedByID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Severity" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="StatusID" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="SubStatusID" nillable="true" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="Issue" nillable="true" type="tns:Issue" />
  <xs:complexType name="TrackableCollectionOfAttributeGkTSy_POF">
    <xs:annotation>
      <xs:appinfo>
        <GenericType Name="TrackableCollectionOf{0}{#}" Namespace="http://schemas.datacontract.org/2004/07/IssueVision.EntityModel" xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
          <GenericParameter Name="Attribute" Namespace="http://schemas.datacontract.org/2004/07/IssueVision.EntityModel" />
        </GenericType>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Attribute" nillable="true" type="tns:Attribute" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TrackableCollectionOfAttributeGkTSy_POF" nillable="true" type="tns:TrackableCollectionOfAttributeGkTSy_POF" />
  <xs:complexType name="Attribute">
    <xs:sequence>
      <xs:element minOccurs="0" name="AttributeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="ID" type="ser:guid" />
      <xs:element minOccurs="0" name="IssueID" type="xs:long" />
      <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="Attribute" nillable="true" type="tns:Attribute" />
  <xs:complexType name="TrackableCollectionOfFileGkTSy_POF">
    <xs:annotation>
      <xs:appinfo>
        <GenericType Name="TrackableCollectionOf{0}{#}" Namespace="http://schemas.datacontract.org/2004/07/IssueVision.EntityModel" xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
          <GenericParameter Name="File" Namespace="http://schemas.datacontract.org/2004/07/IssueVision.EntityModel" />
        </GenericType>
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="File" nillable="true" type="tns:File" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TrackableCollectionOfFileGkTSy_POF" nillable="true" type="tns:TrackableCollectionOfFileGkTSy_POF" />
  <xs:complexType name="File">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="Data" nillable="true" type="xs:base64Binary" />
      <xs:element minOccurs="0" name="FileID" type="ser:guid" />
      <xs:element minOccurs="0" name="FileName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IssueID" type="xs:long" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="File" nillable="true" type="tns:File" />
  <xs:complexType name="ArrayOfIssueHistory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="IssueHistory" nillable="true" type="tns:IssueHistory" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfIssueHistory" nillable="true" type="tns:ArrayOfIssueHistory" />
  <xs:complexType name="IssueHistory">
    <xs:sequence>
      <xs:element minOccurs="0" name="Action" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AssignedToID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ChangeTracker" nillable="true" type="tns:ObjectChangeTracker" />
      <xs:element minOccurs="0" name="ChangedByID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Comment" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DateCreated" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DuplicateID" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="IssueHistoryID" type="xs:int" />
      <xs:element minOccurs="0" name="IssueID" type="xs:long" />
      <xs:element minOccurs="0" name="IssueTypeID" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="LastChange" type="xs:dateTime" />
      <xs:element minOccurs="0" name="OpenedByID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OpenedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Platform" nillable="true" type="tns:Platform" />
      <xs:element minOccurs="0" name="PlatformID" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Priority" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="ReproSteps" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResolutionDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ResolutionID" nillable="true" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="ResolvedByID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Severity" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="Status" nillable="true" type="tns:Status" />
      <xs:element minOccurs="0" name="StatusID" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="SubStatusID" nillable="true" type="xs:unsignedByte" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="IssueHistory" nillable="true" type="tns:IssueHistory" />
</xs:schema>